/**********************************************************************/
/*   ____  ____                                                       */
/*  /   /\/   /                                                       */
/* /___/  \  /                                                        */
/* \   \   \/                                                       */
/*  \   \        Copyright (c) 2003-2009 Xilinx, Inc.                */
/*  /   /          All Right Reserved.                                 */
/* /---/   /\                                                         */
/* \   \  /  \                                                      */
/*  \___\/\___\                                                    */
/***********************************************************************/

/* This file is designed for use with ISim build 0xfbc00daa */

#define XSI_HIDE_SYMBOL_SPEC true
#include "xsi.h"
#include <memory.h>
#ifdef __GNUC__
#include <stdlib.h>
#else
#include <malloc.h>
#define alloca _alloca
#endif
static const char *ng0 = "/home/choosegoose/code/predator-vision/qdr.vhd";
extern char *IEEE_P_2592010699;

unsigned char ieee_p_2592010699_sub_13554554585326073636_503743352(char *, char *, unsigned int , unsigned int );
char *ieee_p_2592010699_sub_16439989833707593767_503743352(char *, char *, char *, char *, char *, char *);
unsigned char ieee_p_2592010699_sub_2763492388968962707_503743352(char *, char *, unsigned int , unsigned int );
unsigned char ieee_p_2592010699_sub_3488768497506413324_503743352(char *, unsigned char , unsigned char );


static void work_a_3907025893_3212880686_p_0(char *t0)
{
    char t24[16];
    char t25[16];
    char t26[16];
    char t27[16];
    char t31[16];
    char *t1;
    unsigned char t2;
    char *t3;
    char *t4;
    int t5;
    unsigned int t6;
    unsigned int t7;
    unsigned int t8;
    unsigned char t9;
    char *t10;
    char *t11;
    char *t12;
    char *t13;
    char *t14;
    unsigned char t15;
    int t16;
    unsigned int t17;
    unsigned int t18;
    unsigned int t19;
    unsigned char t20;
    unsigned char t21;
    char *t22;
    char *t23;
    unsigned int t28;
    unsigned int t29;
    unsigned int t30;
    char *t32;
    int t33;
    unsigned int t34;
    char *t35;
    unsigned int t36;
    char *t37;
    char *t38;
    char *t39;
    char *t40;
    char *t41;

LAB0:    xsi_set_current_line(33, ng0);
    t1 = (t0 + 992U);
    t2 = ieee_p_2592010699_sub_2763492388968962707_503743352(IEEE_P_2592010699, t1, 0U, 0U);
    if (t2 != 0)
        goto LAB2;

LAB4:
LAB3:    xsi_set_current_line(42, ng0);
    t1 = (t0 + 992U);
    t2 = ieee_p_2592010699_sub_13554554585326073636_503743352(IEEE_P_2592010699, t1, 0U, 0U);
    if (t2 != 0)
        goto LAB7;

LAB9:
LAB8:    t1 = (t0 + 4032);
    *((int *)t1) = 1;

LAB1:    return;
LAB2:    xsi_set_current_line(34, ng0);
    t3 = (t0 + 1832U);
    t4 = *((char **)t3);
    t5 = (0 - 3);
    t6 = (t5 * -1);
    t7 = (1U * t6);
    t8 = (0 + t7);
    t3 = (t4 + t8);
    t9 = *((unsigned char *)t3);
    t10 = (t0 + 4128);
    t11 = (t10 + 56U);
    t12 = *((char **)t11);
    t13 = (t12 + 56U);
    t14 = *((char **)t13);
    *((unsigned char *)t14) = t9;
    xsi_driver_first_trans_delta(t10, 3U, 1, 0LL);
    xsi_set_current_line(36, ng0);
    t1 = (t0 + 1992U);
    t3 = *((char **)t1);
    t5 = (0 - 3);
    t6 = (t5 * -1);
    t7 = (1U * t6);
    t8 = (0 + t7);
    t1 = (t3 + t8);
    t2 = *((unsigned char *)t1);
    t4 = (t0 + 2312U);
    t10 = *((char **)t4);
    t9 = *((unsigned char *)t10);
    t15 = ieee_p_2592010699_sub_3488768497506413324_503743352(IEEE_P_2592010699, t2, t9);
    t4 = (t0 + 1832U);
    t11 = *((char **)t4);
    t16 = (0 - 3);
    t17 = (t16 * -1);
    t18 = (1U * t17);
    t19 = (0 + t18);
    t4 = (t11 + t19);
    t20 = *((unsigned char *)t4);
    t21 = ieee_p_2592010699_sub_3488768497506413324_503743352(IEEE_P_2592010699, t15, t20);
    t12 = (t0 + 4192);
    t13 = (t12 + 56U);
    t14 = *((char **)t13);
    t22 = (t14 + 56U);
    t23 = *((char **)t22);
    *((unsigned char *)t23) = t21;
    xsi_driver_first_trans_delta(t12, 3U, 1, 0LL);
    xsi_set_current_line(37, ng0);
    t1 = (t0 + 1992U);
    t3 = *((char **)t1);
    t6 = (3 - 3);
    t7 = (t6 * 1U);
    t8 = (0 + t7);
    t1 = (t3 + t8);
    t4 = (t26 + 0U);
    t10 = (t4 + 0U);
    *((int *)t10) = 3;
    t10 = (t4 + 4U);
    *((int *)t10) = 1;
    t10 = (t4 + 8U);
    *((int *)t10) = -1;
    t5 = (1 - 3);
    t17 = (t5 * -1);
    t17 = (t17 + 1);
    t10 = (t4 + 12U);
    *((unsigned int *)t10) = t17;
    t10 = (t0 + 1992U);
    t11 = *((char **)t10);
    t17 = (3 - 2);
    t18 = (t17 * 1U);
    t19 = (0 + t18);
    t10 = (t11 + t19);
    t12 = (t27 + 0U);
    t13 = (t12 + 0U);
    *((int *)t13) = 2;
    t13 = (t12 + 4U);
    *((int *)t13) = 0;
    t13 = (t12 + 8U);
    *((int *)t13) = -1;
    t16 = (0 - 2);
    t28 = (t16 * -1);
    t28 = (t28 + 1);
    t13 = (t12 + 12U);
    *((unsigned int *)t13) = t28;
    t13 = ieee_p_2592010699_sub_16439989833707593767_503743352(IEEE_P_2592010699, t25, t1, t26, t10, t27);
    t14 = (t0 + 1832U);
    t22 = *((char **)t14);
    t28 = (3 - 3);
    t29 = (t28 * 1U);
    t30 = (0 + t29);
    t14 = (t22 + t30);
    t23 = (t31 + 0U);
    t32 = (t23 + 0U);
    *((int *)t32) = 3;
    t32 = (t23 + 4U);
    *((int *)t32) = 1;
    t32 = (t23 + 8U);
    *((int *)t32) = -1;
    t33 = (1 - 3);
    t34 = (t33 * -1);
    t34 = (t34 + 1);
    t32 = (t23 + 12U);
    *((unsigned int *)t32) = t34;
    t32 = ieee_p_2592010699_sub_16439989833707593767_503743352(IEEE_P_2592010699, t24, t13, t25, t14, t31);
    t35 = (t24 + 12U);
    t34 = *((unsigned int *)t35);
    t36 = (1U * t34);
    t2 = (3U != t36);
    if (t2 == 1)
        goto LAB5;

LAB6:    t37 = (t0 + 4192);
    t38 = (t37 + 56U);
    t39 = *((char **)t38);
    t40 = (t39 + 56U);
    t41 = *((char **)t40);
    memcpy(t41, t32, 3U);
    xsi_driver_first_trans_delta(t37, 0U, 3U, 0LL);
    xsi_set_current_line(38, ng0);
    t1 = (t0 + 1992U);
    t3 = *((char **)t1);
    t5 = (3 - 3);
    t6 = (t5 * -1);
    t7 = (1U * t6);
    t8 = (0 + t7);
    t1 = (t3 + t8);
    t2 = *((unsigned char *)t1);
    t4 = (t0 + 4256);
    t10 = (t4 + 56U);
    t11 = *((char **)t10);
    t12 = (t11 + 56U);
    t13 = *((char **)t12);
    *((unsigned char *)t13) = t2;
    xsi_driver_first_trans_fast(t4);
    xsi_set_current_line(40, ng0);
    t1 = (t0 + 1352U);
    t3 = *((char **)t1);
    t1 = (t0 + 4320);
    t4 = (t1 + 56U);
    t10 = *((char **)t4);
    t11 = (t10 + 56U);
    t12 = *((char **)t11);
    memcpy(t12, t3, 4U);
    xsi_driver_first_trans_fast(t1);
    goto LAB3;

LAB5:    xsi_size_not_matching(3U, t36, 0);
    goto LAB6;

LAB7:    xsi_set_current_line(43, ng0);
    t3 = (t0 + 2152U);
    t4 = *((char **)t3);
    t5 = (2 - 3);
    t6 = (t5 * -1);
    t7 = (1U * t6);
    t8 = (0 + t7);
    t3 = (t4 + t8);
    t9 = *((unsigned char *)t3);
    t10 = (t0 + 4128);
    t11 = (t10 + 56U);
    t12 = *((char **)t11);
    t13 = (t12 + 56U);
    t14 = *((char **)t13);
    *((unsigned char *)t14) = t9;
    xsi_driver_first_trans_delta(t10, 1U, 1, 0LL);
    goto LAB8;

}

static void work_a_3907025893_3212880686_p_1(char *t0)
{
    char *t1;
    unsigned char t2;
    char *t3;
    char *t4;
    int t5;
    unsigned int t6;
    unsigned int t7;
    unsigned int t8;
    unsigned char t9;
    char *t10;
    char *t11;
    char *t12;
    char *t13;
    char *t14;

LAB0:    xsi_set_current_line(49, ng0);
    t1 = (t0 + 1152U);
    t2 = ieee_p_2592010699_sub_2763492388968962707_503743352(IEEE_P_2592010699, t1, 0U, 0U);
    if (t2 != 0)
        goto LAB2;

LAB4:
LAB3:    xsi_set_current_line(52, ng0);
    t1 = (t0 + 1152U);
    t2 = ieee_p_2592010699_sub_13554554585326073636_503743352(IEEE_P_2592010699, t1, 0U, 0U);
    if (t2 != 0)
        goto LAB5;

LAB7:
LAB6:    t1 = (t0 + 4048);
    *((int *)t1) = 1;

LAB1:    return;
LAB2:    xsi_set_current_line(50, ng0);
    t3 = (t0 + 2152U);
    t4 = *((char **)t3);
    t5 = (1 - 3);
    t6 = (t5 * -1);
    t7 = (1U * t6);
    t8 = (0 + t7);
    t3 = (t4 + t8);
    t9 = *((unsigned char *)t3);
    t10 = (t0 + 4384);
    t11 = (t10 + 56U);
    t12 = *((char **)t11);
    t13 = (t12 + 56U);
    t14 = *((char **)t13);
    *((unsigned char *)t14) = t9;
    xsi_driver_first_trans_delta(t10, 2U, 1, 0LL);
    goto LAB3;

LAB5:    xsi_set_current_line(53, ng0);
    t3 = (t0 + 2152U);
    t4 = *((char **)t3);
    t5 = (3 - 3);
    t6 = (t5 * -1);
    t7 = (1U * t6);
    t8 = (0 + t7);
    t3 = (t4 + t8);
    t9 = *((unsigned char *)t3);
    t10 = (t0 + 4384);
    t11 = (t10 + 56U);
    t12 = *((char **)t11);
    t13 = (t12 + 56U);
    t14 = *((char **)t13);
    *((unsigned char *)t14) = t9;
    xsi_driver_first_trans_delta(t10, 0U, 1, 0LL);
    xsi_set_current_line(54, ng0);
    t1 = (t0 + 1832U);
    t3 = *((char **)t1);
    t6 = (3 - 3);
    t7 = (t6 * 1U);
    t8 = (0 + t7);
    t1 = (t3 + t8);
    t4 = (t0 + 4448);
    t10 = (t4 + 56U);
    t11 = *((char **)t10);
    t12 = (t11 + 56U);
    t13 = *((char **)t12);
    memcpy(t13, t1, 3U);
    xsi_driver_first_trans_fast(t4);
    goto LAB6;

}


extern void work_a_3907025893_3212880686_init()
{
	static char *pe[] = {(void *)work_a_3907025893_3212880686_p_0,(void *)work_a_3907025893_3212880686_p_1};
	xsi_register_didat("work_a_3907025893_3212880686", "isim/integration_tb_isim_beh.exe.sim/work/a_3907025893_3212880686.didat");
	xsi_register_executes(pe);
}
